<HTML>
<HEAD>
  <meta name="author" content="Tamas Vertse">
<LINK REL ="stylesheet" TYPE="text/css" HREF="../marvinmanuals.css">
<TITLE>Developer's Guide</TITLE>
</HEAD>

<BODY>
<center>
<h1>.NET support</h1>
<h3>Version 5.3.1</h3>
</center>
The full <a href="beans/api/index.html" target="_blank">Marvin Java API</a> is
available in .NET through <a href="http://www.jnbridge.com"
target="_blank">JNBridge</a>.
<p/>
JNBridge is a third-party tool. It translates any Java APIs to .NET API, so
Java libraries can be used from within .NET. (JNBridge is also capable to do
the opposite: translates .NET API to Java.  But this is irrelevant for the
current discussion.) The JNBridge tool lets ChemAxon generate native .NET
objects which act as proxies of Java objects ChemAxon's Java libraries. .NET
programmers create in their code the generated proxies and use them without
leaving the .NET programming space.
<p/>
The mapping from Java API to .NET API is relatively straightforward with the
two programming environments sharing the same basic types with similar
behaviours. The higher level language constructs of C# and Java also show many
similarities. Due to these considerations, we currently do not provide a
separate .NET API documentation.  (Admittedly, while a C# programmer will read
Java API documentations with relative ease, a Visual Basic programmer has to
make somewhat more effort to understand them.)
<p/>
JNBridge is the product of JNBridge LLC. JNBridge LLC and ChemAxon are two
distinct business entities. JNBridge LLC develops and owns the JNBridge
product. ChemAxon tested JNBridge with its own products and decided to provide
support to .NET programmers in using JNBridge to access ChemAxon Java libraries
from within their .NET programs. ChemAxon distributes the runtime components of
the JNBridge product for use with its own products and provides technical
support for its own customers in case they have problems with the JNBridge
product when used with ChemAxon's products.
<p/>
You need the following components to run Marvin in a .NET runtime:
<ul>
<li>
    <b>.NET proxies for Marvin</b><br>
    We provide the <code>marvin5.3.1_JnbProxies_1.1.dll</code> and
    <code>marvin5.3.1_JnbProxies_2.0.dll</code>  .NET assemblies for .NET 1.1 and .NET
    2.0 runtimes respectively. These assemblies contain the type descriptors
    and .NET stubs which act in the .NET environment as proxies for the Marvin
    Java classes. You can <!-- Marvin download: --> <a
        href="http://www.chemaxon.com/marvin/download-dev.html">download</a> them
    from our website. The mapping from <a href="beans/api/index.html">the
        Marvin Java API</a> to the type information exposed in the Marvin .NET proxies
    is exhaustive (fine grained) and very straightforward. For example:
    the package-qualified name of the Java class
    <code>chemaxon.struc.Molecule</code> maps to the namespace-qualified
    name of .NET class <code>chemaxon.struc.Molecule</code>.
</li>
<li>
    <b>Java Runtime Environment (JRE)</b><br> The <a
    href="http://java.sun.com/j2se/1.5.0/download.jsp" target="_blank">JRE
    1.5.0</a> (Java Runtime Environment (JRE) 5.0 Update 6 or later) must be
    installed on your machine.
</li>
<li>
    <b>The JNBridge runtime system</b><br>
    The SE version of JNBridge runtime has to be installed on your machine.  It
    can be downloaded for evaluation <a
    href="http://www.chemaxon.com/jnbridge/" target="_blank">from here</a>. The
    evaluation period is 30 days. After expiration of the evaluation period, a
    license key is required. In case the JNBridge tool is used with ChemAxon
    products, ChemAxon (as a distributor of the JNBridge runtime components)
    provides license keys in return for payment of the license fee determined
    by JNBridge LLC. Note that <a
    href="http://www.chemaxon.com/prices.html">ChemAxon's "Free Software"
    program</a> currently <b>does not</b> cover the JNBridge product.<br/>
</li>
</ul>

We provide two working examples demonstrating how to use
Marvin components in a .NET application: the
The <a href="../../examples/ChemAxon.NET/GUI/doc/index.html">.NET GUI
examples</a> demonstrate how to implement a .NET UserControl based
on Marvin Java GUI components.
</BODY>
</HTML>
